package beans;


import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

import model.CursoPeriodo;
import model.Pregunta;
import model.Profesor;
import model.Respuesta;

import org.primefaces.event.SelectEvent;
import org.primefaces.event.UnselectEvent;

import controlador.Principal;

public class AprobarPregunta {
	private CursoPeriodo curso;
	private List<Pregunta> preguntas, preguntasFiltro;
	private Pregunta pregunta, preguntaSelec;
	private Profesor prof;
	private String cursoId,periodoId;
	private List<Respuesta> respuestas;
	private Respuesta respuesta;
	
	public AprobarPregunta () {
		prof=new Profesor();
		prof = Principal.getProfesor();
		curso= new CursoPeriodo();
		curso=Principal.getCp_coordinador();
		//cursosPeriodo = Principal.listarCursosxPermisoProfesor(permisos);
		preguntas = new ArrayList<Pregunta>();
		preguntas= Principal.listarPreguntasPendientesxCurso(curso.getCurso());
		respuestas = new ArrayList<Respuesta>();
	}

	public CursoPeriodo getCurso() {
		return curso;
	}

	public void setCurso(CursoPeriodo curso) {
		this.curso = curso;
	}

	public List<Pregunta> getPreguntas() {
		return preguntas;
	}

	public void setPreguntas(List<Pregunta> preguntas) {
		this.preguntas = preguntas;
	}

	public List<Pregunta> getPreguntasFiltro() {
		return preguntasFiltro;
	}

	public void setPreguntasFiltro(List<Pregunta> preguntasFiltro) {
		this.preguntasFiltro = preguntasFiltro;
	}

	public Pregunta getPregunta() {
		return pregunta;
	}

	public void setPregunta(Pregunta pregunta) {
		this.pregunta = pregunta;
	}

	public Pregunta getPreguntaSelec() {
		respuestas=Principal.listarRespuestasxPregunta(preguntaSelec);
		return preguntaSelec;
	}

	public void setPreguntaSelec(Pregunta preguntaSelec) {
		this.preguntaSelec = preguntaSelec;
	}

	public Profesor getProf() {
		return prof;
	}

	public void setProf(Profesor prof) {
		this.prof = prof;
	}

	public String getCursoId() {
		return cursoId;
	}

	public void setCursoId(String cursoId) {
		this.cursoId = cursoId;
	}

	public String getPeriodoId() {
		return periodoId;
	}

	public void setPeriodoId(String periodoId) {
		this.periodoId = periodoId;
	}
	
	public Respuesta getRespuesta() {
		return respuesta;
	}

	public void setRespuesta(Respuesta respuesta) {
		this.respuesta = respuesta;
	}	
	
	public List<Respuesta> getRespuestas() {
		return respuestas;
	}

	public void setRespuestas(List<Respuesta> respuestas) {
		this.respuestas = respuestas;
	}

	
	public void aprobarPreg(){
		FacesMessage msg = new FacesMessage("La pregunta ha sido Aprobada");  
		FacesContext.getCurrentInstance().addMessage(null, msg);		
		this.preguntaSelec.setPreguntaEstado(Principal.getEstadobyId("00001"));	
		this.preguntaSelec.setFechaAceptacion(new Date());
		this.preguntaSelec.setProfesorByCoordinadorDocenteId(this.prof);
		Principal.modificaPregunta(this.preguntaSelec);		
		preguntas= Principal.listarPreguntasPendientesxCurso(curso.getCurso());
	}
	
	public void rechazarPreg(){
		FacesMessage msg = new FacesMessage("La pregunta ha sisdo Rechazada");  
		FacesContext.getCurrentInstance().addMessage(null, msg);
		this.preguntaSelec.setPreguntaEstado(Principal.getEstadobyId("00002"));
		Principal.modificaPregunta(this.preguntaSelec);
		preguntas= Principal.listarPreguntasPendientesxCurso(curso.getCurso());
	}

	public void onRowSelect(SelectEvent e){
		FacesMessage msg = new FacesMessage("Pregunta Seleccionada", ((Pregunta) e.getObject()).getEnunciadoTexto());  
		  
        FacesContext.getCurrentInstance().addMessage(null, msg);
		
	}
	
	public void onRowUnselect(UnselectEvent e){
		FacesMessage msg = new FacesMessage("Pregunta Seleccionada", ((Pregunta) e.getObject()).getEnunciadoTexto());  
		  
        FacesContext.getCurrentInstance().addMessage(null, msg);
		
	}
}
